<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div id="test"></div>

        <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
		<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
		<!-- 生产环境中不建议使用 -->
		<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
        <script type="text/babel">
            // 创建组件
            class Login extends React.Component{
                // 初始化状态
                state = {
                    username:'',
                    password:''
                }
                // 保存用户名到状态中
                saveUsername = (event) => {
                    //console.log(event.target.value);
                    this.setState({username:event.target.value})
                }
                savePassword = (event) =>{
                    this.setState({password:event.target.value})
                }
                handleSubmit = (event)=>{
                    event.preventDefault();// 取消默认事件  w3c的方法是e.preventDefault()，IE则是使用e.returnValue = false;
                    console.log(this);
                    const {username,password} = this.state;
                    alert("账号:"+username+",密码:"+password+"")
                }
                // 页面中所有输入类的DOM(比如input框)这种输入的dom,随着你的输入就能吧东西维护到状态里面,等需要用的时候直接从状态里面取出来,这就是受控组件
                // 现用现取就是非受控组件,随着你的输入维护状态就是受控组件(受控组件和Vue里面数据双向绑定几乎一样)  建议写受控组件,受控组件没有ref
                render(){
                    return(
                        <form action="https://www.baidu.com" onSubmit={this.handleSubmit}>
                            账号:<input onChange={this.saveUsername} type="text" name="username"/>
                            密码:<input onChange={this.savePassword} type="password" name="password"/>
                            <button>登陆</button>
                        </form>
                    )
                }
            }
            ReactDOM.render(<Login/>,document.getElementById("test"));
        </script>
    </body>
</html>